Page({
  data: {
    username: '',
    password: '',
    rememberPassword: false,
    errorMsg: '',
    isLoading: false
  },

  onLoad: function() {
    // 尝试从本地存储获取保存的用户名和密码
    if (wx.getStorageSync('rememberPassword')) {
      this.setData({
        username: wx.getStorageSync('savedUsername') || '',
        password: wx.getStorageSync('savedPassword') || '',
        rememberPassword: true
      });
    }
  },

  // 输入用户名
  inputUsername: function(e) {
    this.setData({
      username: e.detail.value,
      errorMsg: '' // 清除错误信息
    });
    console.log('用户名输入:', e.detail.value); // 调试信息
  },

  // 输入密码
  inputPassword: function(e) {
    this.setData({
      password: e.detail.value,
      errorMsg: '' // 清除错误信息
    });
    console.log('密码输入:', e.detail.value.length > 0 ? '已输入' : '未输入'); // 调试信息
  },

  // 切换记住密码
  toggleRememberPassword: function() {
    this.setData({
      rememberPassword: !this.data.rememberPassword
    });
  },

  // 登录
  login: function() {
    const { username, password } = this.data;
    console.log('登录请求:', username, password ? '密码已输入' : '密码未输入');
    
    // 验证输入
    if (!username) {
      this.setData({ errorMsg: '请输入用户名' });
      return;
    }
    
    if (!password) {
      this.setData({ errorMsg: '请输入密码' });
      return;
    }
    
    this.setData({ 
      isLoading: true,
      errorMsg: '' 
    });
    
    // 保存用户名和密码（如果选择了记住密码）
    if (this.data.rememberPassword) {
      wx.setStorageSync('rememberPassword', true);
      wx.setStorageSync('savedUsername', username);
      wx.setStorageSync('savedPassword', password);
    } else {
      wx.removeStorageSync('rememberPassword');
      wx.removeStorageSync('savedUsername');
      wx.removeStorageSync('savedPassword');
    }
    
    // 获取应用实例以获取服务器地址
    const app = getApp();
    const serverUrl = app.globalData.serverUrl || 'http://localhost:3000';
    
    // 发送登录请求 - 使用应用全局配置的服务器地址
    wx.request({
      url: `${serverUrl}/api/auth/login`,
      method: 'POST',
      data: { userId: username, password },
      success: (res) => {
        if (res.statusCode === 200) {
          console.log('登录响应详情:', res.data);
          
          // 确保用户信息包含userId字段
          const userData = res.data.user;
          
          // 如果后端返回的用户数据中没有userId字段，但有id字段，则添加userId字段
          if (!userData.userId && userData.id) {
            userData.userId = userData.id;
          }
          
          // 如果既没有userId也没有id字段，则使用登录名作为userId
          if (!userData.userId) {
            userData.userId = username;
          }
          
          // 存储用户信息
          wx.setStorageSync('token', res.data.token);
          wx.setStorageSync('userInfo', userData);
          
          // 同时更新全局数据
          app.globalData.userInfo = userData;
          app.globalData.token = res.data.token;
          
          console.log('存储的用户信息(完整):', userData);
          
          // 根据角色跳转到不同页面
          const role = userData.role;
          let targetUrl = '';
          
          if (role === 'student') {
            targetUrl = '/pages/student/index/index';
            wx.switchTab({
              url: targetUrl
            });
          } else if (role === 'teacher') {
            targetUrl = '/pages/teacher/index/index';
            wx.redirectTo({
              url: targetUrl
            });
          } else if (role === 'counselor') {
            targetUrl = '/pages/counselor/index/index';
            wx.redirectTo({
              url: targetUrl
            });
          } else if (role === 'admin') {
            targetUrl = '/pages/admin/index/index';
            wx.redirectTo({
              url: targetUrl
            });
          } else {
            wx.showToast({
              title: '未知用户角色',
              icon: 'none'
            });
          }
        } else {
          this.setData({
            errorMsg: res.data.message || '登录失败，请检查用户名和密码'
          });
        }
      },
      fail: (err) => {
        console.error('登录请求失败:', err);
        this.setData({
          errorMsg: '网络错误，请稍后重试。请确保后端服务器已启动。'
        });
      },
      complete: () => {
        this.setData({ isLoading: false });
      }
    });
  },
  
  // 跳转到注册页面
  goToRegister: function() {
    wx.navigateTo({
      url: '/pages/zhuce/zhuce'
    });
  }
})